vm learning